package text111;

import java.util.Stack;

public class Solution1 {
	 public ListNode reverseList(ListNode head) {
		/*//键栈 
		Stack<Integer>A = new Stack<Integer>();
		ListNode listNode = null;
		while(head!=null) {
			A.add(head.val);
			head=head.next;
		}
		
		//出栈
		while(!A.empty()) {
			if (listNode.next==null) {
				listNode.val=A.pop();
			listNode=listNode.next;
			}		
		}
		 
		 return listNode;
	    }*/

		 ListNode cur = head, pre = null;
	        while(cur != null) {
	            ListNode tmp = cur.next; // 暂存后继节点 cur.next
	            cur.next = pre;          // 修改 next 引用指向
	            pre = cur;               // pre 暂存 cur
	            cur = tmp;               // cur 访问下一节点
	        }
	        return pre;

}
}